hysop.numerics.fft.fftw_fft module¶
FFT iterface for fast Fourier Transforms using FFTW backend (using pyfftw).
FftwFFT
FftwFFTPlan
- class hysop.numerics.fft.fftw_fft.FftwFFT(threads=None, planner_effort=None, planning_timelimit=None, destroy_input=False, warn_on_misalignment=True, warn_on_allocation=True, error_on_allocation=False, backend=None, allocator=None, **kwds)[source]¶
Bases:
HostFFTI
Interface to compute local to process FFT-like transforms using the FFTW backend.
- Fftw fft backend has many advantages:
single, double and long double precision supported
no intermediate temporary buffers created at each call.
planning capability with caching
multithreading capability
Planning destroys initial arrays content.
Initializes the interface and default supported real and complex types.
- idct(a, out=None, type=2, axis=-1, scaling=None, **kwds)[source]¶
Planning destroys initial arrays content.
- class hysop.numerics.fft.fftw_fft.FftwFFTPlan(a, out, scaling=None, **plan_kwds)[source]¶
Bases:
HostFFTPlanI
Build and wraps a FFTW plan. Emit warnings when SIMD alignment is not used. Emit warnings when changing input and output alignment.
- __call__()[source]¶
Execute the plan on possibly different input and output arrays. Input array updates with arrays that are not aligned on original byte boundary will result in a copy being made. Return output array for convenience.
- property input_array¶
Return currently planned input array.
- property output_array¶
Return currently planned output array.